package com.yf.internedstring;

public class StringTableSize {
    public static void main(String[] args) {
        System.out.println("测试StringTableSize");
        try {
            Thread.sleep(1000000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        /*
        jps
        jinfo -flag StringTableSize pid

        - jdk6:StringTableSize=1009
        - jdk7:StringTableSize=60013
        - jdk8:StringTableSize=60013,可设置的最小值是1009

        StringTableSize对性能的影响：
        1、如果StringTableSize值设置得过小，会导致字符串常量池中哈希冲突严重，从而让链表长度增加，降低intern方法的执行速度
        2、如果StringTable的值设置得过大（jdk8中上限非常大）,字符串常量池占用的内存空间过大，浪费系统资源
         */
    }
}
